// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007
DEFINE OBJECTS 2
DEFINE OBJECT SANNY BUILDER 3.04      
DEFINE OBJECT WAREHOUSE_DOOR1          // Object number -1

DEFINE MISSIONS 1
DEFINE MISSION 0 AT @MISSN_11         

DEFINE EXTERNAL_SCRIPTS 0 // Use -1 in order not to compile AAA script

DEFINE UNKNOWN_EMPTY_SEGMENT 0

DEFINE UNKNOWN_THREADS_MEMORY 500

{$VERSION 3.1.0027}

//-------------MAIN---------------
thread 'MAIN' 
fade 0 0 
01F0: set_max_wanted_level_to 6 
set_wb_check_to 0 
00C0: set_current_time_hours_to 8 minutes_to 0 
023C: load_special_actor 'TENPEN' as 1 // models 290-299 
04E4: unknown_refresh_game_renderer_at 2115.0972 1915.627
Camera.SetAtPos(2115.0972, 1915.627, 10.8203)
$PLAYER_CHAR = Player.Create(#NULL, 2115.0972, 1915.627, 10.8203)
Player.Build($PLAYER_CHAR)
09C7: change_player $PLAYER_CHAR model_to #SPECIAL01 
$PLAYER_ACTOR = Actor.EmulateFromPlayer($PLAYER_CHAR)
07AF: $PLAYER_GROUP = player $PLAYER_CHAR group 
set_weather 1 
wait 0 
Player.CanMove($PLAYER_CHAR) = False
select_interior 0 
0629: change_integer_stat 181 to 4 
062A: change_float_stat 165 to 800.0 
062A: change_float_stat 23 to 150.0 
062A: change_float_stat 21 to 200.0 
062A: change_float_stat 160 to 150.0 
0629: change_integer_stat 68 to 10 
016C: restart_if_wasted_at 2115.0972 1915.627 10.8203 angle 90.0 town_number 0 
016D: restart_if_busted_at 2115.0972 1915.627 10.8203 angle 90.0 town_number 0 
0180: set_on_mission_flag_to $ONMISSION // Note: your missions have to use the variable defined here 
$DEFAULT_WAIT_TIME = 250 
03E6: remove_text_box 
$ONMISSION = 0 
$CRASH_MARKER = Marker.CreateIconAndSphere(16, 2111.1499, 1914.9213, 10.8203)
Player.CanMove($PLAYER_CHAR) = True
fade 1 500 
wait 1000 
Player.CanMove($PLAYER_CHAR) = True
Camera.Restore_WithJumpCut
Camera.SetBehindPlayer


:MAIN_321
wait $DEFAULT_WAIT_TIME 
00BF: $Time_Hours = current_time_hours, $Time_Mins = current_time_minutes 
if and
  $ONMISSION == 0 
00ED:   actor $PLAYER_ACTOR 0 near_point 2111.1499 1914.9213 radius 1.0 1.0 on_foot 
jf @MAIN_388 
Marker.Disable($CRASH_MARKER)
start_mission 0 

:MAIN_388
jump @MAIN_321 

//-------------Mission 0---------------
{On this mission you are given the challenge to run up 20 floors shooting bad guys and NOT the police. 
Notice that the interior of the Visage is actually the Penthouse of the Calligula Casino.  At the landing
on the stairs I teleport the player back 20 times and shuffle men around to make it less repetive.
This and Zombotech are very much alike I know. Save the girl and get rewarded with a kiss.}
:MISSN_11
thread 'MISSN_11'
$ONMISSION = 1 
gosub @MISSN_11_BEGIN 
if 
wasted_or_busted 
jf @MISSN_11_DONE 

gosub @MISSN_11_FAILED 

:MISSN_11_DONE
gosub @MISSN_11_CLEANUP 
end_thread 

:MISSN_11_BEGIN
fade 0 0 

:MISSN_11_FADEOUT01
wait 0 
if 
   not fading 
jf @MISSN_11_FADEOUT01 
00C0: set_current_time_hours_to 1 minutes_to 15
0395: clear_area 1 at 2115.0972 1915.627 10.8203 radius 100.0 
054C: use_GXT_table 'JABM11' 

Model.Load(#COPCARVG)     //Cop Cars
Model.Load(#LVPD1)        //Cops
Model.Load(#COPBIKE)      //Cop Bikes
Model.Load(#DNFYLC)       //Hostage
Model.Load(#VBMYCR)       //Bad Boy Leader
Model.Load(#VWMYCR)       //Bay Boy 1
Model.Load(#SHMYCR)       //Bad Boy 2
Model.Load(#COLT45)       //22
Model.Load(#DESERT_EAGLE) //24
Model.Load(#MICRO_UZI)    //28
Model.Load(#TEC9)         //32
Model.Load(#AK47)         //30
Model.Load(#M4)           //31
Model.Load(#BIKDRUG)      //Bay Boy 3  
Model.Load(#SWMYCR)       //Bad Boy 4  
Model.Load(#AMBULAN)      //Ambulance
Model.Load(#KNIFECUR)     //4 
Model.Load(#POLMAV)       //Police Helicopters
04ED: load_animation "FOOD" 
04ED: load_animation "KISSING" 
04ED: load_animation "ON_LOOKERS" 
04ED: load_animation "SWAT" 
038B: load_requested_models 

:MISSN_11_MODELCHK
wait 0 
if and
   Model.Available(#COPCARVG)
   Model.Available(#LVPD1)   
   Model.Available(#COPBIKE) 
   Model.Available(#DNFYLC)
   Model.Available(#VBMYCR)
   Model.Available(#VWMYCR)
   Model.Available(#SHMYCR) 
   Model.Available(#SWMYCR)
jf @MISSN_11_MODELCHK 

:MISSN_11_WEPCHK
wait 0 
if and
   Model.Available(#COLT45)
   Model.Available(#DESERT_EAGLE) 
   Model.Available(#MICRO_UZI) 
   Model.Available(#TEC9)  
   Model.Available(#AK47)  
   Model.Available(#M4)
   Model.Available(#KNIFECUR)
   Model.Available(#BIKDRUG)
jf @MISSN_11_WEPCHK 



:MISSN_11_ANIMCHK
wait 0 
if and
04EE:   animation "SWAT" loaded 
04EE:   animation "ON_LOOKERS" loaded 
04EE:   animation "FOOD" loaded 
04EE:   animation "KISSING" loaded 
Model.Available(#POLMAV)
Model.Available(#AMBULAN)
jf @MISSN_11_ANIMCHK 

11@ = Actor.Create(Mission1, #LVPD1, 2108.6084, 1861.0018, 10.6719)
12@ = Actor.Create(Mission1, #LVPD1, 2116.5339, 1971.8121, 10.5084)
13@ = Actor.Create(Mission1, #LVPD1, 2058.0884, 1951.6885, 11.2821) 
14@ = Actor.Create(Mission1, #LVPD1, 2056.7402, 1951.0106, 11.3075)
15@ = Actor.Create(Mission1, #LVPD1, 2018.6487, 1918.7667, 12.0264)
16@ = Actor.Create(Mission1, #LVPD1, 2043.8331, 1895.0205, 11.6931)
17@ = Actor.Create(Mission1, #LVPD1, 2042.2046, 1881.7711, 11.6152)
18@ = Actor.Create(Mission1, #LVPD1, 2057.6101, 1886.1367, 11.4122)

Actor.Angle(11@) = 237.0
Actor.Angle(12@) = 313.0
Actor.Angle(13@) = 116.0
Actor.Angle(14@) = 300.0
Actor.Angle(15@) = 275.0
Actor.Angle(16@) = 46.0
Actor.Angle(17@) = 319.0
Actor.Angle(18@) = 49.0

21@ = Car.Create(#COPCARVG, 2105.0891, 1860.9408, 10.3664) 
22@ = Car.Create(#COPCARVG, 2113.2241, 1865.9655, 10.3611) 
23@ = Car.Create(#COPCARVG, 2112.6353, 1965.433, 10.3878)
24@ = Car.Create(#COPCARVG, 2073.896, 1961.3002, 10.9235)
25@ = Car.Create(#COPCARVG, 2065.6445, 1948.391, 11.3411)
26@ = Car.Create(#COPCARVG, 2055.9192, 1936.7977, 11.6728)
27@ = Car.Create(#COPCARVG, 2058.3296, 1900.1349, 11.7113)
28@ = Car.Create(#COPBIKE, 2073.7803, 1875.4178, 10.9942)
29@ = Car.Create(#COPBIKE, 2109.9399, 1971.9315, 10.3841)

Model.Destroy(#COPCARVG)
Model.Destroy(#COPBIKE)

01F7: set_player $PLAYER_CHAR ignored_by_cops 1 
03C7: set_sensitivity_to_crime 0.0 
067C: put_camera_on_actor 15@ with_offset 0.0 70.0 120.2 rotation 40.0 0.0 90.0 0.0 2 

Car.Angle(21@) = 329.0
Car.Angle(22@) = 32.0
Car.Angle(23@) = 338.0
Car.Angle(24@) = 119.0
Car.Angle(25@) = 235.0
Car.Angle(26@) = 160.0
Car.Angle(27@) = 153.0
Car.Angle(28@) = 345.0
Car.Angle(29@) = 57.0

0397: enable_car 21@ siren true 
0397: enable_car 22@ siren true 
0397: enable_car 23@ siren true 
0397: enable_car 24@ siren true 
0397: enable_car 25@ siren true 
0397: enable_car 26@ siren true 
0397: enable_car 27@ siren true 
0397: enable_car 28@ siren true 
0397: enable_car 29@ siren true 
//No traffic allowed                                                 
01E8: create_forbidden_for_cars_cube_cornerA 2115.0 1852.0 11.0 cornerB 2015.0 1977.0 0.0 
022B: create_forbidden_for_peds_cube_cornerA 2115.0 1852.0 11.0 cornerB 2015.0 1977.0 0.0 

0615: define_AS_pack_begin 71@ 
0605: actor -1 perform_animation_sequence "LKAROUND_IN" IFP_file "ON_LOOKERS" 1.0 loop 0 0 0 0 time -1 // versionA 
0605: actor -1 perform_animation_sequence "LKAROUND_LOOP" IFP_file "ON_LOOKERS" 1.0 loop 0 0 0 0 time -1 // versionA 
0605: actor -1 perform_animation_sequence "LKAROUND_LOOP" IFP_file "ON_LOOKERS" 1.0 loop 0 0 0 0 time -1 // versionA 
0605: actor -1 perform_animation_sequence "LKAROUND_LOOP" IFP_file "ON_LOOKERS" 1.0 loop 0 0 0 0 time -1 // versionA 
0605: actor -1 perform_animation_sequence "LKAROUND_OUT" IFP_file "ON_LOOKERS" 1.0 loop 0 0 0 0 time -1 // versionA 
0643: set_AS_pack 71@ loop 1 
0616: define_AS_pack_end 71@ 
0615: define_AS_pack_begin 72@ 
0605: actor -1 perform_animation_sequence "POINTUP_IN" IFP_file "ON_LOOKERS" 1.0 loop 0 0 0 0 time -1 // versionA 
0605: actor -1 perform_animation_sequence "POINTUP_LOOP" IFP_file "ON_LOOKERS" 1.0 loop 0 0 0 0 time -1 // versionA 
0605: actor -1 perform_animation_sequence "POINTUP_SHOUT" IFP_file "ON_LOOKERS" 1.0 loop 0 0 0 0 time -1 // versionA 
0605: actor -1 perform_animation_sequence "POINTUP_LOOP" IFP_file "ON_LOOKERS" 1.0 loop 0 0 0 0 time -1 // versionA 
0605: actor -1 perform_animation_sequence "POINTUP_LOOP" IFP_file "ON_LOOKERS" 1.0 loop 0 0 0 0 time -1 // versionA 
0643: set_AS_pack 72@ loop 1 
0616: define_AS_pack_end 72@ 
0615: define_AS_pack_begin 73@ 
05B9: AS_actor -1 stay_idle 300 ms 
0605: actor -1 perform_animation_sequence "POINTUP_IN" IFP_file "ON_LOOKERS" 1.0 loop 0 0 0 0 time -1 // versionA 
0605: actor -1 perform_animation_sequence "POINTUP_LOOP" IFP_file "ON_LOOKERS" 1.0 loop 0 0 0 0 time -1 // versionA 
0605: actor -1 perform_animation_sequence "POINTUP_SHOUT" IFP_file "ON_LOOKERS" 1.0 loop 0 0 0 0 time -1 // versionA 
0605: actor -1 perform_animation_sequence "POINTUP_LOOP" IFP_file "ON_LOOKERS" 1.0 loop 0 0 0 0 time -1 // versionA 
0605: actor -1 perform_animation_sequence "POINTUP_OUT" IFP_file "ON_LOOKERS" 1.0 loop 0 0 0 0 time -1 // versionA 
0643: set_AS_pack 73@ loop 1 
0616: define_AS_pack_end 73@ 
0615: define_AS_pack_begin 74@ 
05B9: AS_actor -1 stay_idle 300 ms 
0605: actor -1 perform_animation_sequence "IDLE_CHAT" IFP_file "PED" 1.0 loop 0 0 0 0 time -1 // versionA 
0605: actor -1 perform_animation_sequence "XPRESSSCRATCH" IFP_file "PED" 1.0 loop 0 0 0 0 time -1 // versionA 
0605: actor -1 perform_animation_sequence "IDLE_STANCE" IFP_file "PED" 1.0 loop 0 0 0 0 time -1 // versionA 
0605: actor -1 perform_animation_sequence "IDLE_CHAT" IFP_file "PED" 1.0 loop 0 0 0 0 time -1 // versionA 
0605: actor -1 perform_animation_sequence "WOMAN_IDLESTANCE" IFP_file "PED" 1.0 loop 0 0 0 0 time -1 // versionA 
0643: set_AS_pack 74@ loop 1 
0616: define_AS_pack_end 74@ 

0618: assign_actor 11@ to_AS_pack 71@ 
0618: assign_actor 12@ to_AS_pack 71@ 
0618: assign_actor 17@ to_AS_pack 72@ 
0618: assign_actor 18@ to_AS_pack 73@ 
0618: assign_actor 13@ to_AS_pack 74@ 
0618: assign_actor 14@ to_AS_pack 74@ 

061B: remove_references_to_AS_pack 71@ 
061B: remove_references_to_AS_pack 72@ 
061B: remove_references_to_AS_pack 73@ 
061B: remove_references_to_AS_pack 74@ 
wait 1000

02A3: enable_widescreen true
//For test only remove
01B2: give_actor $PLAYER_ACTOR weapon 24 ammo 34 
Actor.Armour($PLAYER_ACTOR) = 100

fade 1 1500 
39@ = 10 //Floor Counter
41@ = 0  //Police Chat
42@ = 0  //Police Chat
43@ = 0  //Police Chat
44@ = 0  //Police Chat
45@ = 0  //Police Chat
46@ = 0  //Police Chat
47@ = 0  //Police Chat
48@ = 0  //Police Chat

50@ = 1  //Hours
51@ = 15 //Minutes
52@ = 0  //Seconds
32@ = 0

:MISSN_11_FADEIN01
wait 0 
if 
   not fading 
jf @MISSN_11_FADEIN01 

03E5: show_text_box 'HH01'
gosub @MISSN_11_KEYWAIT
03E5: show_text_box 'HH02'  
gosub @MISSN_11_KEYWAIT
03E5: show_text_box 'HH03'  
gosub @MISSN_11_KEYWAIT
03E5: show_text_box 'HH04'  
gosub @MISSN_11_KEYWAIT
03E5: show_text_box 'HH05'  
gosub @MISSN_11_KEYWAIT

50@ = 1 //Hours
51@ = 15 //Minutes
52@ = 0  //Seconds
32@ = 0
 
00C0: set_current_time_hours_to 1 minutes_to 15
02A3: enable_widescreen false
018A: 40@ = create_checkpoint_at 2018.5 1922.5 12.4
Player.CanMove($PLAYER_CHAR) = True
Camera.Restore_WithJumpCut
Camera.SetBehindPlayer


:MISSN_11_LOOP1
wait 0 
gosub @MISSN_11_REALTIME
//10204 10206 random police wav
if and
41@ == 0
00F2:   actor 11@ near_actor $PLAYER_ACTOR radius 3.0 3.0 0 
then
41@ = 10204
03CF: load_wav 41@ as 1 
0949: link_wav 1 to_actor 11@ 
gosub @MISSN_11_PLAYSND
end
if and
42@ == 0
00F2:   actor 12@ near_actor $PLAYER_ACTOR radius 3.0 3.0 0 
then
42@ = 10204
03CF: load_wav 42@ as 1 
0949: link_wav 1 to_actor 12@ 
gosub @MISSN_11_PLAYSND
end
if and
43@ == 0
00F2:   actor 13@ near_actor $PLAYER_ACTOR radius 3.0 3.0 0 
then
0209: 43@ = random_int_in_ranges 25236 25242
03CF: load_wav 43@ as 1 
0949: link_wav 1 to_actor 13@ 
gosub @MISSN_11_PLAYSND
44@ = 0
end
if and
43@ > 0
44@ == 0
then
43@ = 0
0209: 44@ = random_int_in_ranges 25213 25218
03CF: load_wav 44@ as 1 
0949: link_wav 1 to_actor 14@ 
gosub @MISSN_11_PLAYSND
end

if and
47@ == 0
00F2:   actor 17@ near_actor $PLAYER_ACTOR radius 3.0 3.0 0 
then
47@ = 25204
03CF: load_wav 47@ as 1 
0949: link_wav 1 to_actor 17@ 
gosub @MISSN_11_PLAYSND
end
if and
48@ == 0
00F2:   actor 18@ near_actor $PLAYER_ACTOR radius 3.0 3.0 0 
then
0209: 48@ = random_int_in_ranges 25200 25204
03CF: load_wav 48@ as 1 
0949: link_wav 1 to_actor 18@ 
gosub @MISSN_11_PLAYSND
end

if     
00FE:   actor $PLAYER_ACTOR sphere 1 in_sphere 2018.5 1922.5 12.0 radius 2.0 2.0 2.0                                    
jf @MISSN_11_LOOP1 

fade 0 500 
:MISSN_11_FADEOUT02
wait 0 
if 
   not fading 
jf @MISSN_11_FADEOUT02 

04EF: release_animation "ON_LOOKERS" 
Car.Destroy(21@)
Car.Destroy(22@)
Car.Destroy(23@)
Car.Destroy(24@)
Car.Destroy(25@)
Car.Destroy(26@)
Car.Destroy(27@)
Car.Destroy(28@)
Car.Destroy(29@)
0164: disable_marker 40@

04BB: select_interior 1
04F9: set_interior 1 color_to 0 
Camera.SetAtPos(2269.5081, 1624.8584, 1084.2565)
0860: link_actor $PLAYER_ACTOR to_interior 1 
//Turn off Roof and Elevator Access
07FB: set_interior 'JUMP1' access false
07FB: set_interior 'JUMP2' access false
07FB: set_interior 'MAFCAS2' access false 
//Attack when targeted
060A: create_decision_maker_type 2 store_to 98@
060A: create_decision_maker_type 0 store_to 99@
03E5: show_text_box 'HH06'  
:MISSN_11_REPEAT

gosub @MISSN_11_SETUP

//Randomize Police Positions
0208: 95@ = random_float_in_ranges 2267.0 2270.5 
0208: 96@ = random_float_in_ranges 1629.0 1642.0                     
Actor.PutAt(11@, 95@, 96@, 1084.25)
0208: 95@ = random_float_in_ranges 2267.0 2270.5 
0208: 96@ = random_float_in_ranges 1629.0 1642.0                     
Actor.PutAt(12@, 95@, 96@, 1084.25)
0208: 95@ = random_float_in_ranges 2267.0 2270.5 
0208: 96@ = random_float_in_ranges 1629.0 1642.0                     
Actor.PutAt(13@, 95@, 96@, 1084.25)
0208: 95@ = random_float_in_ranges 2267.0 2270.5 
0208: 96@ = random_float_in_ranges 1629.0 1642.0                     
Actor.PutAt(14@, 95@, 96@, 1084.25)
//Police Angles
Actor.Angle(11@) = 355.0
Actor.Angle(12@) = 15.0
Actor.Angle(13@) = 17.0
Actor.Angle(14@) = 18.0

//Attack Styles
//Packs are a list of instructions to any actor or actors they are assigned.
//The actor follows the list and if you assign 0643 to loop they continue to
//repeat these actions.  I have found the limit to actions is 8 can be assigned
//per pack, along with if then commands.

//Cop 11 shoots at 16 and 15
0615: define_AS_pack_begin 71@ 
05D3: AS_actor -1 goto_point 2267.4192 1644.717 1084.24 mode 6 -2 ms // versionA  
0639: AS_actor -1 rotate_to_actor 16@ 
04EB: AS_actor -1 crouch true 
0638: AS_actor -1 stay_put true 
if
not Actor.Dead(16@)
then
07A5: AS_actor -1 attack_actor 16@ 5000 ms 
end
04EB: AS_actor -1 crouch false            
05D3: AS_actor -1 goto_point 2271.0574 1655.6993 1084.24 mode 6 -2 ms // versionA  
if
not Actor.Dead(15@)
then
07A5: AS_actor -1 attack_actor 15@ 2500 ms 
end
0643: set_AS_pack 71@ loop 1 
0616: define_AS_pack_end 71@ 
0618: assign_actor 11@ to_AS_pack 71@ 
061B: remove_references_to_AS_pack 71@

//Cop 12 Stay crouched shoot 16 and 18
0615: define_AS_pack_begin 72@
0605: actor -1 perform_animation_sequence "WEAPON_CROUCH" IFP_file "PED" 4.0 loop 0 0 0 0 time -1 // versionA 
05D3: AS_actor -1 goto_point 2271.0 1644.717 1084.24 mode 6 -2 ms // versionA  
if
not Actor.Dead(16@)
then
07A5: AS_actor -1 attack_actor 16@ 1500 ms 
end
0605: actor -1 perform_animation_sequence "WEAPON_CROUCH" IFP_file "PED" 4.0 loop 0 0 0 0 time -1 // versionA 
0605: actor -1 perform_animation_sequence "CROUCH_ROLL_R" IFP_file "PED" 4.0 loop 0 1 1 0 time -1 // versionA 
if
not Actor.Dead(18@)
then
07A5: AS_actor -1 attack_actor 18@ 2500 ms 
end
0643: set_AS_pack 72@ loop 1 
0616: define_AS_pack_end 72@ 
0618: assign_actor 12@ to_AS_pack 72@ 
061B: remove_references_to_AS_pack 72@
//Cop 13 Attacks 18 and 17 performs a roll left and right
0615: define_AS_pack_begin 73@
0605: actor -1 perform_animation_sequence "WEAPON_CROUCH" IFP_file "PED" 4.0 loop 0 0 0 0 time -1 // versionA 
0605: actor -1 perform_animation_sequence "CROUCH_ROLL_L" IFP_file "PED" 4.0 loop 0 1 1 0 time -1 // versionA 
if
not Actor.Dead(18@)
then
07A5: AS_actor -1 attack_actor 18@ 2000 ms 
end
0605: actor -1 perform_animation_sequence "WEAPON_CROUCH" IFP_file "PED" 4.0 loop 0 0 0 0 time -1 // versionA 
0605: actor -1 perform_animation_sequence "CROUCH_ROLL_R" IFP_file "PED" 4.0 loop 0 1 1 0 time -1 // versionA 
if
not Actor.Dead(17@)
then
07A5: AS_actor -1 attack_actor 17@ 2000 ms 
end
0643: set_AS_pack 73@ loop 1 
0616: define_AS_pack_end 73@ 
0618: assign_actor 13@ to_AS_pack 73@ 
061B: remove_references_to_AS_pack 73@
//Crouched attacks all 4 in turn
0615: define_AS_pack_begin 74@ 
04EB: AS_actor -1 crouch 1 
if
not Actor.Dead(17@)
then
07A5: AS_actor -1 attack_actor 17@ 1500 ms 
04EB: AS_actor -1 crouch 1
end
if
not Actor.Dead(18@)
then
07A5: AS_actor -1 attack_actor 18@ 2500 ms 
04EB: AS_actor -1 crouch 1
end
if
not Actor.Dead(15@)
then
07A5: AS_actor -1 attack_actor 15@ 1500 ms 
04EB: AS_actor -1 crouch 1
end
if
not Actor.Dead(16@)
then
07A5: AS_actor -1 attack_actor 16@ 2000 ms 
end
0643: set_AS_pack 74@ loop 1 
0616: define_AS_pack_end 74@ 
0618: assign_actor 14@ to_AS_pack 74@ 
061B: remove_references_to_AS_pack 74@
//Shoot and duck behind wall attack Player
0615: define_AS_pack_begin 75@ 
0605: actor -1 perform_animation_sequence "SWT_WLLPK_R" IFP_file "SWAT" 8.0 loop 0 0 0 0 time -1 // versionA 
0605: actor -1 perform_animation_sequence "SWT_WLLSHOOT_IN_R" IFP_file "SWAT" 8.0 loop 0 1 1 0 time -1 // versionA 
0638: AS_actor -1 stay_put 1 
07A5: AS_actor -1 attack_actor $PLAYER_ACTOR 1500 ms 
0638: AS_actor -1 stay_put 0 
0605: actor -1 perform_animation_sequence "SWT_WLLSHOOT_OUT_R" IFP_file "SWAT" 8.0 loop 0 1 1 0 time -1 // versionA 
0605: actor -1 perform_animation_sequence "SWT_WLLPK_R_BACK" IFP_file "SWAT" 8.0 loop 0 0 0 0 time -1 // versionA 
0643: set_AS_pack 75@ loop 1 
0616: define_AS_pack_end 75@ 
0618: assign_actor 15@ to_AS_pack 75@ 
061B: remove_references_to_AS_pack 75@
//performs a rolls right attacks 11 and 12 and rolls left
0615: define_AS_pack_begin 76@
0605: actor -1 perform_animation_sequence "WEAPON_CROUCH" IFP_file "PED" 4.0 loop 0 0 0 0 time -1 // versionA 
0605: actor -1 perform_animation_sequence "CROUCH_ROLL_R" IFP_file "PED" 4.0 loop 0 1 1 0 time -1 // versionA 
0638: AS_actor -1 stay_put 1 
if
not Actor.Dead(11@)
then
07A5: AS_actor -1 attack_actor 11@ 1500 ms 
end
if
not Actor.Dead(12@)
then
07A5: AS_actor -1 attack_actor 12@ 1500 ms 
end
0605: actor -1 perform_animation_sequence "WEAPON_CROUCH" IFP_file "PED" 4.0 loop 0 0 0 0 time -1 // versionA 
0605: actor -1 perform_animation_sequence "CROUCH_ROLL_L" IFP_file "PED" 4.0 loop 0 1 1 0 time -1 // versionA 
0643: set_AS_pack 76@ loop 1 
0616: define_AS_pack_end 76@ 
0618: assign_actor 16@ to_AS_pack 76@ 
061B: remove_references_to_AS_pack 76@
//attacks 13 12 11 and the player twice
0615: define_AS_pack_begin 77@ 
05D3: AS_actor -1 goto_point 2267.0 1666.0 1084.25 mode 6 -2 ms // versionA  
07A5: AS_actor -1 attack_actor $PLAYER_ACTOR 1500 ms 
if
not Actor.Dead(13@)
then
07A5: AS_actor -1 attack_actor 13@ 1500 ms 
end
07A5: AS_actor -1 attack_actor $PLAYER_ACTOR 1500 ms 
if
not Actor.Dead(12@)
then
07A5: AS_actor -1 attack_actor 12@ 1500 ms 
end
07A5: AS_actor -1 attack_actor $PLAYER_ACTOR 1500 ms 
if
not Actor.Dead(11@)
then
07A5: AS_actor -1 attack_actor 11@ 1500 ms 
end
0643: set_AS_pack 77@ loop 1 
0616: define_AS_pack_end 77@ 
0618: assign_actor 17@ to_AS_pack 77@ 
061B: remove_references_to_AS_pack 77@
//Zig zag runner attacks all
0615: define_AS_pack_begin 78@
05D3: AS_actor -1 goto_point 2269.6333 1666.2858 1084.25 mode 6 -2 ms // versionA 
07A5: AS_actor -1 attack_actor 11@ 2000 ms 
05D3: AS_actor -1 goto_point 2266.3728 1660.0649 1084.25 mode 6 -2 ms // versionA 
07A5: AS_actor -1 attack_actor 14@ 2000 ms 
05D3: AS_actor -1 goto_point 2271.1047 1650.2891 1084.25 mode 6 -2 ms // versionA 
07A5: AS_actor -1 attack_actor 12@ 2000 ms 
05D3: AS_actor -1 goto_point 2266.6274 1651.389 1084.2344 mode 6 -2 ms // versionA 
07A5: AS_actor -1 attack_actor 13@ 2000 ms 
0643: set_AS_pack 78@ loop 1 
0616: define_AS_pack_end 78@ 
0618: assign_actor 18@ to_AS_pack 78@ 
061B: remove_references_to_AS_pack 78@

wait 1000
fade 1 1500 
:MISSN_11_FADEIN02
wait 0 
if 
   not fading 
jf @MISSN_11_FADEIN02 

:MISSN_11_LOOP2
wait 0 
gosub @MISSN_11_REALTIME
//Player killed a cop?
if and
not Actor.Dead(11@)
not Actor.Dead(12@)
not Actor.Dead(13@)
not Actor.Dead(14@)
jf @MISSN_11_FAILED

if or
not Actor.Dead(15@)
not Actor.Dead(16@)
not Actor.Dead(17@)
not Actor.Dead(18@)
then
if
52@ == 35
then
0209: 48@ = random_int_in_ranges 25205 25212 //Fight phrases
03CF: load_wav 48@ as 1  
gosub @MISSN_11_PLAYSND
end

if
52@ == 16
then
0209: 48@ = random_int_in_ranges 25241 25247 //Fight phrases
03CF: load_wav 48@ as 1  
gosub @MISSN_11_PLAYSND
end

if
52@ == 45
then
0209: 48@ = random_int_in_ranges 25218 25232 //Fight phrases
03CF: load_wav 48@ as 1  
gosub @MISSN_11_PLAYSND
end

if
52@ == 51
then
0209: 48@ = random_int_in_ranges 25250 25258 //Fight phrases
03CF: load_wav 48@ as 1  
gosub @MISSN_11_PLAYSND
end
end

if                                        
00ED:   actor $PLAYER_ACTOR 0 near_point 2266.2944 1670.3079 radius 1.5 1.5 on_foot 
jf @MISSN_11_LOOP2

fade 0 500 
:MISSN_11_FADEOUT03
wait 0 
if 
   not fading 
jf @MISSN_11_FADEOUT03 

gosub @MISSN_11_SETUP

Actor.PutAt(11@, 2266.6, 1631.0, 1084.25)
Actor.PutAt(12@, 2270.8, 1636.2, 1084.25)
Actor.PutAt(13@, 2270.9, 1667.2, 1084.25)
Actor.PutAt(14@, 2267.4, 1667.5, 1084.25)

Actor.Angle(11@) = 355.0
Actor.Angle(12@) = 180.0
Actor.Angle(13@) = 90.0
Actor.Angle(14@) = 180.0

Actor.PutAt(15@, 2269.0, 1669.0, 1084.25)
Actor.PutAt(16@, 2270.7, 1651.0, 1084.25)
0208: 95@ = random_float_in_ranges 2267.0 2270.5    
0208: 96@ = random_float_in_ranges 1628.0 1667.0     
Actor.PutAt(17@, 95@, 96@, 1084.25)
0208: 95@ = random_float_in_ranges 2267.0 2270.5    
0208: 96@ = random_float_in_ranges 1628.0 1667.0     
Actor.PutAt(18@, 95@, 96@, 1084.25) 

Actor.Angle(15@) = 180.0
Actor.Angle(16@) = 180.0
Actor.Angle(17@) = 180.0
Actor.Angle(18@) = 180.0
     
//Attack Styles
//Attack all targets
0615: define_AS_pack_begin 71@
05D3: AS_actor -1 goto_point 2271.0681 1638.4503 1084.24 mode 6 -2 ms // versionA 
if 
not Actor.Dead(17@)
then
07A5: AS_actor -1 attack_actor 17@ 2000 ms 
end
05D3: AS_actor -1 goto_point 2266.4009 1651.8959 1084.24 mode 6 -2 ms // versionA 
if 
not Actor.Dead(15@)
then
07A5: AS_actor -1 attack_actor 15@ 2000 ms 
end
05D3: AS_actor -1 goto_point 2271.1892 1662.6196 1084.24 mode 6 -2 ms // versionA 
if 
not Actor.Dead(16@)
then
07A5: AS_actor -1 attack_actor 16@ 2000 ms 
end
05D3: AS_actor -1 goto_point 2266.4409 1630.1315 1084.24 mode 6 -2 ms // versionA 
if 
not Actor.Dead(18@)
then
07A5: AS_actor -1 attack_actor 18@ 2000 ms 
end
0643: set_AS_pack 71@ loop 1 
0616: define_AS_pack_end 71@ 
0618: assign_actor 11@ to_AS_pack 71@ 
061B: remove_references_to_AS_pack 71@
//Attack 15 and 16
0615: define_AS_pack_begin 72@
0605: actor -1 perform_animation_sequence "WEAPON_CROUCH" IFP_file "PED" 4.0 loop 0 0 0 0 time -1 // versionA 
0605: actor -1 perform_animation_sequence "CROUCH_ROLL_R" IFP_file "PED" 4.0 loop 0 1 1 0 time -1 // versionA 
if 
not Actor.Dead(15@)
then
07A5: AS_actor -1 attack_actor 15@ 2000 ms 
end
05D3: AS_actor -1 goto_point 2266.5 1643.8 1084.24 mode 6 -2 ms // versionA 
0605: actor -1 perform_animation_sequence "WEAPON_CROUCH" IFP_file "PED" 4.0 loop 0 0 0 0 time -1 // versionA 
0605: actor -1 perform_animation_sequence "CROUCH_ROLL_R" IFP_file "PED" 4.0 loop 0 1 1 0 time -1 // versionA 
if 
not Actor.Dead(16@)
then
07A5: AS_actor -1 attack_actor 16@ 2000 ms 
end
05D3: AS_actor -1 goto_point 2270.8 1636.2 1084.24 mode 6 -2 ms // versionA 
0643: set_AS_pack 72@ loop 1 
0616: define_AS_pack_end 72@ 
0618: assign_actor 12@ to_AS_pack 72@ 
061B: remove_references_to_AS_pack 72@                               
//Random Events
0209: 97@ = random_int_in_ranges 0 10 
97@ += 1

if 
97@ == 2
then
0615: define_AS_pack_begin 73@
0605: actor -1 perform_animation_sequence "WEAPON_CROUCH" IFP_file "PED" 4.0 loop 1 1 1 0 time 12000 // versionA 
05D3: AS_actor -1 goto_point 2268.38 1649.78 1084.24 mode 6 -2 ms // versionA 
0639: AS_actor -1 rotate_to_actor 17@ 
0638: AS_actor -1 stay_put 1 
if
not Actor.Dead(17@)
then
07A5: AS_actor -1 attack_actor 17@ 2000 ms 
end
0605: actor -1 perform_animation_sequence "KO_SHOT_STOM" IFP_file "PED" 4.0 loop 0 0 0 0 time 2500 // versionA 
05BE: AS_kill_actor -1 
0616: define_AS_pack_end 73@ 
0618: assign_actor 13@ to_AS_pack 73@ 
061B: remove_references_to_AS_pack 73@   
else 
0615: define_AS_pack_begin 73@
0605: actor -1 perform_animation_sequence "WEAPON_CROUCH" IFP_file "PED" 4.0 loop 1 1 1 0 time 12000 // versionA 
05D3: AS_actor -1 goto_point 2268.38 1649.78 1084.24 mode 6 -2 ms // versionA 
0639: AS_actor -1 rotate_to_actor 17@ 
0638: AS_actor -1 stay_put 1 
if
not Actor.Dead(17@)
then
07A5: AS_actor -1 attack_actor 17@ 2000 ms 
end
0639: AS_actor -1 rotate_to_actor 18@ 
if
not Actor.Dead(18@)
then
07A5: AS_actor -1 attack_actor 18@ 2000 ms 
end
0643: set_AS_pack 73@ loop 1
0616: define_AS_pack_end 73@ 
0618: assign_actor 13@ to_AS_pack 73@ 
061B: remove_references_to_AS_pack 73@ 
end

if
97@ == 5 
then
Actor.PutAt(14@, 2267.4126, 1667.5, 1084.2443)
0812: AS_actor 14@ perform_animation "GNSTWALL_INJURD" IFP_file "SWAT" 8.0 loopA 1 lockX 0 lockY 0 lockF 0 time -1 // versionB 
0332: set_actor 14@ bleeding 1 
else
Actor.PutAt(14@, 2267.4126, 1667.5, 1084.2443)
0615: define_AS_pack_begin 74@ 
0605: actor 14@ perform_animation_sequence "GUN_STAND" IFP_file "PED" 4.0 loop 0 0 0 0 time 1000 
if
not Actor.Dead(16@)
then
0639: AS_actor -1 rotate_to_actor 16@ 
07A5: AS_actor -1 attack_actor 16@ 2500 ms 
end
0605: actor -1 perform_animation_sequence "WEAPON_CROUCH" IFP_file "PED" 4.0 loop 0 0 0 0 time 1000 
if
not Actor.Dead(18@)
then
0639: AS_actor -1 rotate_to_actor 18@ 
07A5: AS_actor -1 attack_actor 18@ 2500 ms 
end
0643: set_AS_pack 74@ loop 1 
0616: define_AS_pack_end 74@ 
0618: assign_actor 14@ to_AS_pack 74@ 
061B: remove_references_to_AS_pack 74@
end
if
97@ == 6
then
Actor.PutAt(18@, 2270.5, 1632.5, 1084.25)
0615: define_AS_pack_begin 78@
0605: actor -1 perform_animation_sequence "IDLE_ARMED" IFP_file "PED" 4.0 loop 1 0 0 0 time 2500 
0321: kill_actor 18@
0616: define_AS_pack_end 78@ 
0618: assign_actor 18@ to_AS_pack 78@ 
061B: remove_references_to_AS_pack 78@ 
else
0615: define_AS_pack_begin 78@
06A8: AS_actor -1 run_to_and_look_at_actor $PLAYER_ACTOR timelimit -1 approach_distance 2.5 approach_angle 0.0 
07A5: AS_actor -1 attack_actor $PLAYER_ACTOR 3500 ms
if
not Actor.Dead(13@)
then
06A8: AS_actor -1 run_to_and_look_at_actor 13@ timelimit -1 approach_distance 2.0 approach_angle 0.0 
07A5: AS_actor -1 attack_actor 13@ 3500 ms
end
0643: set_AS_pack 78@ loop 1 
0616: define_AS_pack_end 78@ 
0618: assign_actor 18@ to_AS_pack 78@ 
061B: remove_references_to_AS_pack 78@ 
end
if
97@ == 8
then
Actor.PutAt(17@, 2266.1 1647.5 1084.24)
Actor.Angle(17@) = 262.9
0812: AS_actor 17@ perform_animation "GNSTWALL_INJURD" IFP_file "SWAT" 8.0 loopA 1 lockX 0 lockY 0 lockF 0 time -1 // versionB 
0332: set_actor 17@ bleeding 1 
else
                    
0615: define_AS_pack_begin 77@
04EB: AS_actor -1 crouch 1 
0638: AS_actor -1 stay_put 1 
07A5: AS_actor -1 attack_actor $PLAYER_ACTOR 3500 ms 
0639: AS_actor -1 rotate_to_actor 12@ 
if
not Actor.Dead(12@)
then
07A5: AS_actor -1 attack_actor 12@ 2000 ms 
end
0643: set_AS_pack 77@ loop 1 
0616: define_AS_pack_end 77@ 
0618: assign_actor 17@ to_AS_pack 77@ 
061B: remove_references_to_AS_pack 77@  
end

0615: define_AS_pack_begin 75@
05D3: AS_actor -1 goto_point 2270.53 1664.84 1084.24 mode 6 -2 ms // versionA 
04EB: AS_actor -1 crouch 1 
0638: AS_actor -1 stay_put 1                                                              
07A5: AS_actor -1 attack_actor $PLAYER_ACTOR 3500 ms                                      
05D3: AS_actor -1 goto_point 2268.02 1633.73 1084.24 mode 6 -2 ms // versionA 
0639: AS_actor -1 rotate_to_actor $PLAYER_ACTOR
0638: AS_actor -1 stay_put 1
07A5: AS_actor -1 attack_actor $PLAYER_ACTOR 3500 ms 
0643: set_AS_pack 75@ loop 1 
0616: define_AS_pack_end 75@ 
0618: assign_actor 15@ to_AS_pack 75@ 
061B: remove_references_to_AS_pack 75@        

0615: define_AS_pack_begin 76@
04EB: AS_actor -1 crouch 1 
0638: AS_actor -1 stay_put 1 
07A5: AS_actor -1 attack_actor $PLAYER_ACTOR 3500 ms 
0639: AS_actor -1 rotate_to_actor 11@ 
if
not Actor.Dead(11@)
then
07A5: AS_actor -1 attack_actor 11@ 2000 ms 
end
0643: set_AS_pack 76@ loop 1 
0616: define_AS_pack_end 76@ 
0618: assign_actor 16@ to_AS_pack 76@ 
061B: remove_references_to_AS_pack 76@  
wait 1000
fade 1 1500 
:MISSN_11_FADEIN03
wait 0 
if 
   not fading 
jf @MISSN_11_FADEIN03 

:MISSN_11_LOOP3
wait 0 
gosub @MISSN_11_REALTIME
if or
not Actor.Dead(15@)
not Actor.Dead(16@)
not Actor.Dead(17@)
not Actor.Dead(18@)
then
if
52@ == 5
then
0209: 48@ = random_int_in_ranges 25205 25212 //Fight phrases
03CF: load_wav 48@ as 1  
gosub @MISSN_11_PLAYSND
end

if
52@ == 21
then
0209: 48@ = random_int_in_ranges 25241 25247 //Fight phrases
03CF: load_wav 48@ as 1  
gosub @MISSN_11_PLAYSND
end

if
52@ == 42
then
0209: 48@ = random_int_in_ranges 25218 25232 //Fight phrases
03CF: load_wav 48@ as 1  
gosub @MISSN_11_PLAYSND
end

if
52@ == 55
then
0209: 48@ = random_int_in_ranges 25250 25258 //Fight phrases
03CF: load_wav 48@ as 1  
gosub @MISSN_11_PLAYSND
end
end
//Player killed a cop?
if and
not Actor.Dead(11@)
not Actor.Dead(12@)
not Actor.Dead(14@)
jf @MISSN_11_FAILED

if
Actor.Dead(13@)
then
if
97@ == 2
jf @MISSN_11_FAILED
end

//Next Level
if                                        
00ED:   actor $PLAYER_ACTOR 0 near_point 2266.2944 1670.3079 radius 1.5 1.5 on_foot 
jf @MISSN_11_LOOP3

fade 0 500 
:MISSN_11_FADEOUT04
wait 0 
if 
   not fading 
jf @MISSN_11_FADEOUT04 
// Counts 20 floors
39@ -= 1
if 
39@ == 5
then
Actor.Armour($PLAYER_ACTOR) = 100
end
if
39@ == 0
jf @MISSN_11_REPEAT


04BB: select_interior 0
Camera.SetAtPos(1975.7572, 1932.193, 122.0156)
0860: link_actor $PLAYER_ACTOR to_interior 0 
08C7: put_actor $PLAYER_ACTOR at 1975.7572 1932.193 122.0156
Actor.Angle($PLAYER_ACTOR) = 330.0
Camera.SetBehindPlayer 

15@ = Actor.Create(Mission1, #VBMYCR, 2002.823, 1984.9371, 124.5)
16@ = Actor.Create(Mission1, #VWMYCR, 1989.6995, 1972.0359, 122.0156)
17@ = Actor.Create(Mission1, #SHMYCR, 1997.7649, 1961.2886, 122.0156)
18@ = Actor.Create(Mission1, #DNFYLC, 2004.3744, 1983.9147, 124.5)

Car.Create(21@, #POLMAV, 2002.0,2010.0,65.0)
Car.Create(22@, #POLMAV, 1982.0,2050.0,80.0)
Car.Create(23@, #POLMAV, 2022.0,1966.0,200.0)

0825: set_helicopter 21@ instant_rotor_start 
0825: set_helicopter 22@ instant_rotor_start 
0825: set_helicopter 23@ instant_rotor_start 

07BB: set_heli 21@ horizontal_thrust_power 10 
07BB: set_heli 22@ horizontal_thrust_power 10 
07BB: set_heli 23@ horizontal_thrust_power 10 

Car.Create(24@, #AMBULAN, 2043.0, 1922.5, 12.15)
Car.Create(25@, #AMBULAN, 2037.3, 1903.7, 12.17)

Car.Angle(24@) = 5.0
Car.Angle(25@) = 184.0
0397: enable_car 24@ siren true 
0397: enable_car 25@ siren true 

072A: put_actor 11@ into_car 21@ driverseat 
072A: put_actor 12@ into_car 22@ driverseat 
072A: put_actor 13@ into_car 23@ driverseat 

04A2: set_heli 21@ fly_to 2020.0 1984.0 124.5 altitude_between 0.0 and 125.0 
04A2: set_heli 22@ fly_to 1998.0 1975.0 134.5 altitude_between 0.0 and 135.0 
04A2: set_heli 23@ fly_to 1994.0 1966.0 150.5 altitude_between 0.0 and 150.0 

06C1: create_searchlight 60@ on_car 21@ with_offset 0.0 1.0 -0.5 radius 0.4 target 2002.823 1984.9371 124.5 radius 5.0 
06C1: create_searchlight 61@ on_car 22@ with_offset 0.0 1.0 -0.5 radius 0.4 target 2004.374 1983.9147 124.5 radius 5.0 
06C1: create_searchlight 62@ on_car 23@ with_offset 0.0 1.0 -0.5 radius 0.4 target 1994.0 1966.0 122.5 radius 5.0 

Actor.Angle(15@) = 205.0 
Actor.Angle(16@) = 156.0
Actor.Angle(17@) = 142.0
Actor.Angle(18@) = 56.0

0605: actor 18@ perform_animation_sequence "EAT_VOMIT_SK" IFP_file "FOOD" 4.0 loop 1 1 1 1 time -1 // versionA 

01B2: give_actor 15@ weapon 4 ammo 99 
01B2: give_actor 16@ weapon 4 ammo 99 
01B2: give_actor 17@ weapon 4 ammo 99 
01B9: set_actor 15@ armed_weapon_to 4 
0635: AS_actor 15@ aim_at_actor 18@ -1 ms 
01B9: set_actor $PLAYER_ACTOR armed_weapon_to 0
97@ = 0 
02A3: enable_widescreen true 

wait 1000
95@ = 0

fade 1 1500 
:MISSN_11_FADEIN04
wait 0 
if 
   not fading 
jf @MISSN_11_FADEIN04 

0A1D: AS_actor 15@ rotate_to_and_look_at_actor $PLAYER_ACTOR 
05D3: AS_actor $PLAYER_ACTOR goto_point 1994.0 1966.0 122.0 mode 4 -2 ms // versionA 

wait 30000
067C: put_camera_on_actor 15@ with_offset 0.0 2.5 1.5 rotation 0.0 0.0 0.0 0.0 2 
00BC: show_text_highpriority GXT 'HH07' time 10000 flag 1  
03CF: load_wav 25262 as 1  
gosub @MISSN_11_PLAYSND
00BC: show_text_highpriority GXT 'HH08' time 10000 flag 1  
03CF: load_wav 25263 as 1  
gosub @MISSN_11_PLAYSND
067C: put_camera_on_actor 15@ with_offset 20.0 -40.0 30.0 rotation 0.0 0.0 0.0 0.0 2 
00BC: show_text_highpriority GXT 'HH09' time 10000 flag 1  
03CF: load_wav 25264 as 1  
gosub @MISSN_11_PLAYSND
067C: put_camera_on_actor $PLAYER_ACTOR with_offset 0.0 2.5 0.5 rotation 0.0 0.0 0.0 0.0 2 
00BC: show_text_highpriority GXT 'HH10' time 10000 flag 1  
03CF: load_wav 25265 as 1  
gosub @MISSN_11_PLAYSND
067C: put_camera_on_actor 16@ with_offset 0.0 40.0 40.0 rotation 0.0 0.0 0.0 0.0 2 
00BC: show_text_highpriority GXT 'HH11' time 10000 flag 1  
03CF: load_wav 25266 as 1  
gosub @MISSN_11_PLAYSND
00BC: show_text_highpriority GXT 'HH12' time 5000 flag 1  
067C: put_camera_on_actor $PLAYER_ACTOR with_offset 0.0 -2.0 -0.25 rotation 0.0 0.0 0.0 0.0 2 
wait 3000
Camera.SetBehindPlayer 
Camera.Restore
00BC: show_text_highpriority GXT 'HH13' time 10000 flag 1  
03CF: load_wav 25267 as 1  
gosub @MISSN_11_PLAYSND
00BC: show_text_highpriority GXT 'HH14' time 10000 flag 1  
03CF: load_wav 25268 as 1  
gosub @MISSN_11_PLAYSND
00BC: show_text_highpriority GXT 'HH15' time 10000 flag 1  
03CF: load_wav 25269 as 1  
gosub @MISSN_11_PLAYSND

02A3: enable_widescreen false 
07A5: AS_actor 16@ attack_actor $PLAYER_ACTOR -1 ms 
07A5: AS_actor 17@ attack_actor $PLAYER_ACTOR -1 ms 
Camera.SetBehindPlayer 
Camera.Restore
:MISSN_11_LOOP4
wait 0 
0470: 40@ = actor $PLAYER_ACTOR current_weapon 
gosub @MISSN_11_REALTIME
if and
Actor.Dead(16@)
Actor.Dead(17@)
95@ == 0
then
95@ = 1
Actor.PutAt(15@,2004.9, 1984.7, 121.3)
00BC: show_text_highpriority GXT 'HH16' time 5000 flag 1  
wait 5000
end
if  and
97@ == 0
40@ > 20 
then
05E2: AS_actor 15@ kill_actor 18@  
97@ = 1  
end
if  and
95@ == 1
not Actor.Dead(15@)
then
95@ = 2
00BC: show_text_highpriority GXT 'HH17' time 5000 flag 1  
end

if 
95@ == 2
then
00A0: store_actor $PLAYER_ACTOR position_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 
if and
not Actor.Dead(15@)
$TEMPVAR_FLOAT_3 > 124.0
then
95@ = 3
00BC: show_text_highpriority GXT 'HH18' time 5000 flag 1  
end
end

if
not Actor.Dead(18@)
jf @MISSN_11_FAILED
if                                        
Actor.Dead(15@)
jf @MISSN_11_LOOP4
jump @MISSN_11_WIN

:MISSN_11_FAILED 
00BA: show_text_styled GXT 'M_FAIL' time 5000 style 1  // ~r~MISSION FAILED!
if
not Actor.Dead($PLAYER_ACTOR)
then
wait 5000
04BB: select_interior 0
0860: link_actor $PLAYER_ACTOR to_interior 0
Actor.PutAt($PLAYER_ACTOR, 2115.0972, 1915.627, 10.8203)
end
return

:MISSN_11_WIN 
fade 0 500
:MISSN_11_FADEOUT05
wait 0 
if 
   not fading 
jf @MISSN_11_FADEOUT05 
01B9: set_actor $PLAYER_ACTOR armed_weapon_to 0
0332: set_actor 18@ bleeding false 
02A3: enable_widescreen true 

Actor.DestroyInstantly(11@)
Actor.DestroyInstantly(12@)
Actor.DestroyInstantly(13@)
Actor.DestroyInstantly(14@)
Actor.DestroyInstantly(15@)
Actor.DestroyInstantly(16@)
Actor.DestroyInstantly(17@)

Car.Destroy(21@)
Car.Destroy(22@)
Car.Destroy(23@)

Actor.PutAt(18@, 2019.53, 1918.9078, 12.34)            
Actor.Angle(18@) = 254.0

Actor.PutAt($PLAYER_ACTOR, 2018.38, 1919.42, 12.34)   
Actor.Angle($PLAYER_ACTOR) = 267.0

05D3: AS_actor $PLAYER_ACTOR goto_point 2030.0 1917.0 12.34 mode 4 -2 ms 
05D3: AS_actor 18@ goto_point 2030.0 1915.45 12.34 mode 4 -2 ms 
                                           
11@ = Actor.Create(Mission1, #LVPD1, 2021.85, 1924.01, 12.34)
12@ = Actor.Create(Mission1, #LVPD1, 2032.85, 1924.01, 12.34)
13@ = Actor.Create(Mission1, #LVPD1, 2021.85, 1917.01, 12.34)
14@ = Actor.Create(Mission1, #LVPD1, 2032.04, 1917.43, 12.34) 
                                     
0639: AS_actor 11@ rotate_to_actor $PLAYER_ACTOR 
0639: AS_actor 12@ rotate_to_actor $PLAYER_ACTOR 
0639: AS_actor 13@ rotate_to_actor $PLAYER_ACTOR 
0639: AS_actor 14@ rotate_to_actor $PLAYER_ACTOR 

067E: put_camera_on_actor 13@ with_offset 0.0 -3.0 1.0 point_to_actor $PLAYER_ACTOR 0.0 mode 2 

wait 1000
fade 1 500 
:MISSN_11_FADEIN05
wait 0 
if 
   not fading 
jf @MISSN_11_FADEIN05 
wait 1000
0209: 43@ = random_int_in_ranges 25232 25236
03CF: load_wav 43@ as 1 
0949: link_wav 1 to_actor 13@ 
gosub @MISSN_11_PLAYSND
43@ = 0
:MISSN_11_WALKOUT
wait 0
if 
43@ == 0
then
0209: 43@ = random_int_in_ranges 25258 25262
03CF: load_wav 43@ as 1 
0949: link_wav 1 to_actor 13@ 
gosub @MISSN_11_PLAYSND
end
if and
Actor.Stopped(18@)
Actor.Stopped($PLAYER_ACTOR)
jf @MISSN_11_WALKOUT

067E: put_camera_on_actor 11@ with_offset 0.5 0.0 0.5 point_to_actor 13@ 0.0 mode 2 

0639: AS_actor $PLAYER_ACTOR rotate_to_actor 18@ 
0639: AS_actor 18@ rotate_to_actor $PLAYER_ACTOR 

Actor.PutAt(18@,2030.0,1915.45,12.34)            
Actor.Angle(18@) = 0.0
Actor.PutAt($PLAYER_ACTOR,2030.0,1917.0,12.34)   
Actor.Angle($PLAYER_ACTOR) = 180.0

03CF: load_wav 25212 as 1 
0949: link_wav 1 to_actor 13@ 
gosub @MISSN_11_PLAYSND

067E: put_camera_on_actor 14@ with_offset 0.5 1.0 0.5 point_to_actor 18@ 0.0 mode 2 

03CF: load_wav 25270 as 1 
0949: link_wav 1 to_actor 18@ 
gosub @MISSN_11_PLAYSND

0605: actor $PLAYER_ACTOR perform_animation_sequence "PLAYA_KISS_02" IFP_file "KISSING" 4.0 loop 0 0 0 0 time 0 // versionA 
0605: actor 18@ perform_animation_sequence "GRLFRD_KISS_02" IFP_file "KISSING" 4.0 loop 0 0 0 0 time 0 // versionA 
wait 10000
Camera.SetBehindPlayer
Camera.Restore_WithJumpCut
02A3: enable_widescreen false
0394: play_music 2 
00BA: show_text_styled GXT 'M_PASSR' time 5000 style 1  
return

:MISSN_11_SETUP
//Destroy old cops and robbers
Actor.DestroyInstantly(11@)
Actor.DestroyInstantly(12@)
Actor.DestroyInstantly(13@)
Actor.DestroyInstantly(14@)
Actor.DestroyInstantly(15@)
Actor.DestroyInstantly(16@)
Actor.DestroyInstantly(17@)
Actor.DestroyInstantly(18@)
//Set player in hallway
08C7: put_actor $PLAYER_ACTOR at 2269.5 1624.0 1084.25
Actor.Angle($PLAYER_ACTOR) = 0.0
04EB: AS_actor $PLAYER_ACTOR crouch 1 
Camera.SetBehindPlayer 
//Create New Police
11@ = Actor.Create(Mission1, #LVPD1, 2269.0, 1629.0, 1084.25)
12@ = Actor.Create(Mission1, #LVPD1, 2269.0, 1631.0, 1084.25)
13@ = Actor.Create(Mission1, #LVPD1, 2269.0, 1633.0, 1084.25)
14@ = Actor.Create(Mission1, #LVPD1, 2269.0, 1635.0, 1084.25) 
//pass out the guns
01B2: give_actor 11@ weapon 22 ammo 99999 
01B2: give_actor 12@ weapon 22 ammo 99999 
01B2: give_actor 13@ weapon 22 ammo 99999 
01B2: give_actor 14@ weapon 22 ammo 99999 
//Only the player can kill a cop
02A9: set_actor 11@ immune_to_nonplayer true 
02A9: set_actor 12@ immune_to_nonplayer true 
02A9: set_actor 13@ immune_to_nonplayer true 
02A9: set_actor 14@ immune_to_nonplayer true 

0946: set_actor 11@ actions_uninterupted_by_weapon_fire true 
0946: set_actor 12@ actions_uninterupted_by_weapon_fire true 
0946: set_actor 13@ actions_uninterupted_by_weapon_fire true 
0946: set_actor 14@ actions_uninterupted_by_weapon_fire true 
//Shuffles Attacker Models
0209: 97@ = random_int_in_ranges 0 10 
97@ += 1
91@ = 254  
92@ = 250
93@ = 223 
94@ = 181
if or
97@ == 1
97@ == 3
97@ == 5
97@ == 7
97@ == 9
then
91@ = 181 
92@ = 223
93@ = 250
94@ = 254
end  
if 
97@ > 7
then
91@ = 250 
94@ = 223
end
if 
97@ < 4
then 
92@ = 181
93@ = 254
end  

15@ = Actor.Create(Mission1, 91@, 2269.0, 1669.0, 1084.25)
16@ = Actor.Create(Mission1, 92@, 2270.7, 1651.0, 1084.25)
17@ = Actor.Create(Mission1, 93@, 2269.0, 1676.5, 1086.25)
18@ = Actor.Create(Mission1, 94@, 2270.0, 1675.5, 1086.25) 
Actor.Angle(15@) = 180.0
Actor.Angle(16@) = 180.0
Actor.Angle(17@) = 180.0
Actor.Angle(18@) = 180.0
//random weapons      
0209: 95@ = random_int_in_ranges 30 34 
if
95@ == 33 
then 
95@ = 28
end
01B2: give_actor 15@ weapon 95@ ammo 99999 
0209: 95@ = random_int_in_ranges 30 34 
if
95@ == 33 
then 
95@ = 28
end
01B2: give_actor 16@ weapon 95@ ammo 99999 
0209: 95@ = random_int_in_ranges 30 34 
if
95@ == 33 
then 
95@ = 28
end
01B2: give_actor 17@ weapon 95@ ammo 99999 
0209: 95@ = random_int_in_ranges 30 34 
if
95@ == 33 
then 
95@ = 28
end
01B2: give_actor 18@ weapon 95@ ammo 99999 

060B: set_actor 11@ decision_maker_to 99@
060B: set_actor 12@ decision_maker_to 99@
060B: set_actor 13@ decision_maker_to 99@
060B: set_actor 14@ decision_maker_to 99@
060B: set_actor 15@ decision_maker_to 98@
060B: set_actor 16@ decision_maker_to 98@
060B: set_actor 17@ decision_maker_to 98@
060B: set_actor 18@ decision_maker_to 98@
//I did this so I can use my own dialog
0489: set_actor 11@ muted true 
0489: set_actor 12@ muted true 
0489: set_actor 13@ muted true 
0489: set_actor 14@ muted true 
return
//This waits for player to press a key or 8 seconds to pass.
:MISSN_11_KEYWAIT
wait 250
if or
00E1:   player 0 pressed_key 14 
00E1:   player 0 pressed_key 15 
00E1:   player 0 pressed_key 16 
00E1:   player 0 pressed_key 17 
then
52@ = 8
end
gosub @MISSN_11_REALTIME
if
52@ > 7
jf @MISSN_11_KEYWAIT
52@ = 0
return

:MISSN_11_PLAYSND
wait 0
if 
03D0:   wav 1 loaded 
jf @MISSN_11_PLAYSND
03D1: play_wav 1 
:MISSN_11_PLAYING
wait 0
if 
03D2:   wav 1 ended 
jf @MISSN_11_PLAYING
040D: unload_wav 1 
return

:MISSN_11_REALTIME
if
32@ > 1000
then
52@ += 1
32@ = 0
if
52@ == 60
then
52@ = 0
51@ += 1
if 
51@ == 60
then
51@ = 0
50@ += 1 
if 
50@ == 24
then
50@ = 0
end //hours
end //mins
end //seconds
end //ms

00C0: set_current_time_hours_to 50@ minutes_to 51@
return

:MISSN_11_CLEANUP
Model.Destroy(#LVPD1)
Model.Destroy(#VBMYCR)      
Model.Destroy(#VWMYCR)      
Model.Destroy(#SHMYCR)      
Model.Destroy(#COLT45)      
Model.Destroy(#DESERT_EAGLE)
Model.Destroy(#MICRO_UZI)   
Model.Destroy(#TEC9)        
Model.Destroy(#AK47)        
Model.Destroy(#M4)          
Model.Destroy(#BIKDRUG)     
Model.Destroy(#SWMYCR)      
Model.Destroy(#AMBULAN)     
Model.Destroy(#KNIFECUR)    
Model.Destroy(#POLMAV)      
04EF: release_animation "FOOD"
04EF: release_animation "SWAT"
04EF: release_animation "KISSING"
01F7: set_player $PLAYER_CHAR ignored_by_cops false 

$ONMISSION = 0 
mission_cleanup
return
